package com.gpframework.module.wages.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.gpframework.common.annotation.Excel;
import java.util.Date;
import java.math.BigDecimal;

/**
 * @ClassName GzPersonnelFoundationVo
 * @Author gpframework
 * @Date 2024-01-18
 * @Version 1.0.0
 * @Description 人员基础Vo对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GzPersonnelFoundationVo {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;
    /** 部门 */
    @Excel(name = "部门")
    @ApiModelProperty("部门")
    private String departmentName;
    @Excel(name = "职务")
    @ApiModelProperty("岗位name")
    private String postName;

    @ApiModelProperty("1档口及办公室工资2中转3仓库（其他数字根据需求变化）")
    @Excel(name = "部门类型（档口及办公室工资请填写：1，中转请填写：2，仓库请填写：3）")
    private Long departmentType;

    /** 工资级别 */
    @Excel(name = "工资级别一")
    @ApiModelProperty("工资级别一")
    private String salaryLevel;

    @Excel(name = "工资级别二")
    @ApiModelProperty("工资级别二")
    private String subclassIevel;
    /** 名字 */
    @Excel(name = "名字")
    @ApiModelProperty("名字")
    private String name;

    @ApiModelProperty("员工id")
    private Long userId;

    /** 入职日期 */
    @Excel(name = "入职日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("入职日期")
    private Date joinedDate;


    /** 月休天数 */
    @Excel(name = "月度休假")
    @ApiModelProperty("月度休假")
    private Long monthlyDays;

    /** 基本工资 */
    @Excel(name = "基本工资")
    @ApiModelProperty("基本工资")
    private BigDecimal basicSalary;

    /** 岗位工资 */
    @Excel(name = "岗位工资")
    @ApiModelProperty("岗位工资")
    private BigDecimal postWage;

    /** 管理津贴 */
    @Excel(name = "管理津贴")
    @ApiModelProperty("管理津贴")
    private BigDecimal managementAllowance;

    /** 住房津贴 */
    @Excel(name = "住房津贴")
    @ApiModelProperty("住房津贴")
    private BigDecimal houseaLlowance;

    /** 社保补贴 */
    @Excel(name = "社保补贴")
    @ApiModelProperty("社保补贴")
    private BigDecimal socialSecuritySubsidies;

    /** 绩效奖金 */
    @Excel(name = "绩效奖金")
    @ApiModelProperty("绩效奖金")
    private BigDecimal achievementBonus;

    /** 评定标准奖金 */
    @Excel(name = "评定标准奖金")
    @ApiModelProperty("评定标准奖金")
    private String evaluationCriteriaBonus;

    /** 新增高温补贴 */
    @Excel(name = "新增高温补贴")
    @ApiModelProperty("新增高温补贴")
    private BigDecimal increaseTemperatureSubsidy;



    /** 销售档次 */
    @Excel(name = "销售档次")
    @ApiModelProperty("销售档次")
    private BigDecimal salesLevel;

    /** 工龄奖 */
    @Excel(name = "工龄奖")
    @ApiModelProperty("工龄奖")
    private BigDecimal serviceExperienceAward;

    /** 其他补贴 */
    @Excel(name = "其他补贴")
    @ApiModelProperty("其他补贴")
    private BigDecimal otherSubsidies;

    /** 社保个人部分 */
    @Excel(name = "社保个人部分")
    @ApiModelProperty("社保个人部分")
    private String personalPortionOfSocialSecurity;

    /** 排序 */
    @Excel(name = "排序")
    @ApiModelProperty("排序")
    private Long sort;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty("备注")
    private String remarks;

    /** 创建者 */
    @ApiModelProperty("创建者")
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;

    /** 应出勤天数 */
    @ApiModelProperty("应出勤天数")
    private Double requireDateNdancedays;


    /** 绩效系数 */
    @ApiModelProperty("绩效系数")
    private Double performanceCoefficient;


    /** 评定销售等级 */
    @Excel(name = "评定销售等级")
    @ApiModelProperty("评定销售等级")
    private String ratingIevel;

    /** 全勤奖金 */
    private BigDecimal fullAttendanceBonus;

    /** 加班费 */
    private BigDecimal overtimePay;

}
